package br.edu.ufcg.dsc.compiladores.ui.contentassist.antlr.internal;

// Hack: Use our own Lexer superclass by means of import. 
// Currently there is no other way to specify the superclass for the lexer.
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalPascalLexer extends Lexer {
    public static final int RULE_ID=13;
    public static final int T__64=64;
    public static final int T__29=29;
    public static final int T__28=28;
    public static final int T__65=65;
    public static final int T__27=27;
    public static final int T__62=62;
    public static final int T__26=26;
    public static final int T__63=63;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int T__21=21;
    public static final int RULE_ANY_OTHER=19;
    public static final int T__20=20;
    public static final int T__61=61;
    public static final int EOF=-1;
    public static final int T__60=60;
    public static final int RULE_ADITION_OPERATOR=5;
    public static final int T__55=55;
    public static final int T__56=56;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__51=51;
    public static final int T__52=52;
    public static final int T__53=53;
    public static final int T__54=54;
    public static final int T__59=59;
    public static final int RULE_MULTIPLICATION_OPERATOR=10;
    public static final int RULE_INT=14;
    public static final int T__50=50;
    public static final int T__42=42;
    public static final int T__43=43;
    public static final int RULE_RELATIONAL_OPERATOR=9;
    public static final int T__40=40;
    public static final int T__41=41;
    public static final int T__46=46;
    public static final int T__47=47;
    public static final int T__44=44;
    public static final int T__45=45;
    public static final int T__48=48;
    public static final int T__49=49;
    public static final int RULE_STRG=6;
    public static final int RULE_IDENTIFIER=7;
    public static final int RULE_UNSIGNED_DIGIT_SEQUENCE=8;
    public static final int RULE_SL_COMMENT=17;
    public static final int RULE_LETTER=12;
    public static final int RULE_ML_COMMENT=16;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int RULE_STRING=15;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int T__39=39;
    public static final int RULE_DIRECTIVE=4;
    public static final int RULE_WS=18;
    public static final int RULE_DIGIT=11;

    // delegates
    // delegators

    public InternalPascalLexer() {;} 
    public InternalPascalLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public InternalPascalLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g"; }

    // $ANTLR start "T__20"
    public final void mT__20() throws RecognitionException {
        try {
            int _type = T__20;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:11:7: ( 'to' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:11:9: 'to'
            {
            match("to"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public final void mT__21() throws RecognitionException {
        try {
            int _type = T__21;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:12:7: ( 'downto' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:12:9: 'downto'
            {
            match("downto"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "T__22"
    public final void mT__22() throws RecognitionException {
        try {
            int _type = T__22;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:13:7: ( 'nil' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:13:9: 'nil'
            {
            match("nil"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__22"

    // $ANTLR start "T__23"
    public final void mT__23() throws RecognitionException {
        try {
            int _type = T__23;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:14:7: ( 'E' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:14:9: 'E'
            {
            match('E'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__23"

    // $ANTLR start "T__24"
    public final void mT__24() throws RecognitionException {
        try {
            int _type = T__24;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15:7: ( 'e' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15:9: 'e'
            {
            match('e'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__24"

    // $ANTLR start "T__25"
    public final void mT__25() throws RecognitionException {
        try {
            int _type = T__25;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:16:7: ( '+' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:16:9: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__25"

    // $ANTLR start "T__26"
    public final void mT__26() throws RecognitionException {
        try {
            int _type = T__26;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:17:7: ( '-' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:17:9: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__26"

    // $ANTLR start "T__27"
    public final void mT__27() throws RecognitionException {
        try {
            int _type = T__27;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:18:7: ( '.' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:18:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__27"

    // $ANTLR start "T__28"
    public final void mT__28() throws RecognitionException {
        try {
            int _type = T__28;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:19:7: ( 'program' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:19:9: 'program'
            {
            match("program"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__28"

    // $ANTLR start "T__29"
    public final void mT__29() throws RecognitionException {
        try {
            int _type = T__29;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:20:7: ( '(' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:20:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__29"

    // $ANTLR start "T__30"
    public final void mT__30() throws RecognitionException {
        try {
            int _type = T__30;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:21:7: ( ')' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:21:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__30"

    // $ANTLR start "T__31"
    public final void mT__31() throws RecognitionException {
        try {
            int _type = T__31;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:22:7: ( ';' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:22:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__31"

    // $ANTLR start "T__32"
    public final void mT__32() throws RecognitionException {
        try {
            int _type = T__32;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:23:7: ( ',' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:23:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__32"

    // $ANTLR start "T__33"
    public final void mT__33() throws RecognitionException {
        try {
            int _type = T__33;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:24:7: ( 'function' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:24:9: 'function'
            {
            match("function"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__33"

    // $ANTLR start "T__34"
    public final void mT__34() throws RecognitionException {
        try {
            int _type = T__34;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:25:7: ( 'procedure' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:25:9: 'procedure'
            {
            match("procedure"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__34"

    // $ANTLR start "T__35"
    public final void mT__35() throws RecognitionException {
        try {
            int _type = T__35;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:26:7: ( ':' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:26:9: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__35"

    // $ANTLR start "T__36"
    public final void mT__36() throws RecognitionException {
        try {
            int _type = T__36;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:27:7: ( 'var' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:27:9: 'var'
            {
            match("var"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__36"

    // $ANTLR start "T__37"
    public final void mT__37() throws RecognitionException {
        try {
            int _type = T__37;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:28:7: ( 'array' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:28:9: 'array'
            {
            match("array"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__37"

    // $ANTLR start "T__38"
    public final void mT__38() throws RecognitionException {
        try {
            int _type = T__38;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:29:7: ( '[' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:29:9: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__38"

    // $ANTLR start "T__39"
    public final void mT__39() throws RecognitionException {
        try {
            int _type = T__39;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:30:7: ( ']' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:30:9: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__39"

    // $ANTLR start "T__40"
    public final void mT__40() throws RecognitionException {
        try {
            int _type = T__40;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:31:7: ( 'of' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:31:9: 'of'
            {
            match("of"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__40"

    // $ANTLR start "T__41"
    public final void mT__41() throws RecognitionException {
        try {
            int _type = T__41;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:32:7: ( 'packed' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:32:9: 'packed'
            {
            match("packed"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__41"

    // $ANTLR start "T__42"
    public final void mT__42() throws RecognitionException {
        try {
            int _type = T__42;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:33:7: ( '..' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:33:9: '..'
            {
            match(".."); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__42"

    // $ANTLR start "T__43"
    public final void mT__43() throws RecognitionException {
        try {
            int _type = T__43;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:34:7: ( 'label' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:34:9: 'label'
            {
            match("label"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__43"

    // $ANTLR start "T__44"
    public final void mT__44() throws RecognitionException {
        try {
            int _type = T__44;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:35:7: ( 'const' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:35:9: 'const'
            {
            match("const"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__44"

    // $ANTLR start "T__45"
    public final void mT__45() throws RecognitionException {
        try {
            int _type = T__45;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:36:7: ( '=' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:36:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__45"

    // $ANTLR start "T__46"
    public final void mT__46() throws RecognitionException {
        try {
            int _type = T__46;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:37:7: ( 'type' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:37:9: 'type'
            {
            match("type"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__46"

    // $ANTLR start "T__47"
    public final void mT__47() throws RecognitionException {
        try {
            int _type = T__47;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:38:7: ( '^' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:38:9: '^'
            {
            match('^'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__47"

    // $ANTLR start "T__48"
    public final void mT__48() throws RecognitionException {
        try {
            int _type = T__48;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:39:7: ( 'file' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:39:9: 'file'
            {
            match("file"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__48"

    // $ANTLR start "T__49"
    public final void mT__49() throws RecognitionException {
        try {
            int _type = T__49;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:40:7: ( 'set' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:40:9: 'set'
            {
            match("set"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__49"

    // $ANTLR start "T__50"
    public final void mT__50() throws RecognitionException {
        try {
            int _type = T__50;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:41:7: ( 'record' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:41:9: 'record'
            {
            match("record"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__50"

    // $ANTLR start "T__51"
    public final void mT__51() throws RecognitionException {
        try {
            int _type = T__51;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:42:7: ( 'end' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:42:9: 'end'
            {
            match("end"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__51"

    // $ANTLR start "T__52"
    public final void mT__52() throws RecognitionException {
        try {
            int _type = T__52;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:43:7: ( 'case' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:43:9: 'case'
            {
            match("case"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__52"

    // $ANTLR start "T__53"
    public final void mT__53() throws RecognitionException {
        try {
            int _type = T__53;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:44:7: ( 'begin' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:44:9: 'begin'
            {
            match("begin"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__53"

    // $ANTLR start "T__54"
    public final void mT__54() throws RecognitionException {
        try {
            int _type = T__54;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:45:7: ( 'with' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:45:9: 'with'
            {
            match("with"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__54"

    // $ANTLR start "T__55"
    public final void mT__55() throws RecognitionException {
        try {
            int _type = T__55;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:46:7: ( 'do' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:46:9: 'do'
            {
            match("do"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__55"

    // $ANTLR start "T__56"
    public final void mT__56() throws RecognitionException {
        try {
            int _type = T__56;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:47:7: ( 'if' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:47:9: 'if'
            {
            match("if"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__56"

    // $ANTLR start "T__57"
    public final void mT__57() throws RecognitionException {
        try {
            int _type = T__57;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:48:7: ( 'then' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:48:9: 'then'
            {
            match("then"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__57"

    // $ANTLR start "T__58"
    public final void mT__58() throws RecognitionException {
        try {
            int _type = T__58;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:49:7: ( 'else' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:49:9: 'else'
            {
            match("else"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__58"

    // $ANTLR start "T__59"
    public final void mT__59() throws RecognitionException {
        try {
            int _type = T__59;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:50:7: ( 'for' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:50:9: 'for'
            {
            match("for"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__59"

    // $ANTLR start "T__60"
    public final void mT__60() throws RecognitionException {
        try {
            int _type = T__60;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:51:7: ( ':=' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:51:9: ':='
            {
            match(":="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__60"

    // $ANTLR start "T__61"
    public final void mT__61() throws RecognitionException {
        try {
            int _type = T__61;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:52:7: ( 'repeat' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:52:9: 'repeat'
            {
            match("repeat"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__61"

    // $ANTLR start "T__62"
    public final void mT__62() throws RecognitionException {
        try {
            int _type = T__62;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:53:7: ( 'until' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:53:9: 'until'
            {
            match("until"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__62"

    // $ANTLR start "T__63"
    public final void mT__63() throws RecognitionException {
        try {
            int _type = T__63;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:54:7: ( 'while' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:54:9: 'while'
            {
            match("while"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__63"

    // $ANTLR start "T__64"
    public final void mT__64() throws RecognitionException {
        try {
            int _type = T__64;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:55:7: ( 'goto' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:55:9: 'goto'
            {
            match("goto"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__64"

    // $ANTLR start "T__65"
    public final void mT__65() throws RecognitionException {
        try {
            int _type = T__65;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:56:7: ( 'not' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:56:9: 'not'
            {
            match("not"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "T__65"

    // $ANTLR start "RULE_UNSIGNED_DIGIT_SEQUENCE"
    public final void mRULE_UNSIGNED_DIGIT_SEQUENCE() throws RecognitionException {
        try {
            int _type = RULE_UNSIGNED_DIGIT_SEQUENCE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15675:30: ( ( RULE_DIGIT )+ )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15675:32: ( RULE_DIGIT )+
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15675:32: ( RULE_DIGIT )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>='0' && LA1_0<='9')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15675:32: RULE_DIGIT
            	    {
            	    mRULE_DIGIT(); 

            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_UNSIGNED_DIGIT_SEQUENCE"

    // $ANTLR start "RULE_RELATIONAL_OPERATOR"
    public final void mRULE_RELATIONAL_OPERATOR() throws RecognitionException {
        try {
            int _type = RULE_RELATIONAL_OPERATOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:26: ( ( '=' | '<>' | '<' | '<=' | '>' | '>=' | 'in' ) )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:28: ( '=' | '<>' | '<' | '<=' | '>' | '>=' | 'in' )
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:28: ( '=' | '<>' | '<' | '<=' | '>' | '>=' | 'in' )
            int alt2=7;
            alt2 = dfa2.predict(input);
            switch (alt2) {
                case 1 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:29: '='
                    {
                    match('='); 

                    }
                    break;
                case 2 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:33: '<>'
                    {
                    match("<>"); 


                    }
                    break;
                case 3 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:38: '<'
                    {
                    match('<'); 

                    }
                    break;
                case 4 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:42: '<='
                    {
                    match("<="); 


                    }
                    break;
                case 5 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:47: '>'
                    {
                    match('>'); 

                    }
                    break;
                case 6 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:51: '>='
                    {
                    match(">="); 


                    }
                    break;
                case 7 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15677:56: 'in'
                    {
                    match("in"); 


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_RELATIONAL_OPERATOR"

    // $ANTLR start "RULE_ADITION_OPERATOR"
    public final void mRULE_ADITION_OPERATOR() throws RecognitionException {
        try {
            int _type = RULE_ADITION_OPERATOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15679:23: ( 'or' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15679:25: 'or'
            {
            match("or"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_ADITION_OPERATOR"

    // $ANTLR start "RULE_MULTIPLICATION_OPERATOR"
    public final void mRULE_MULTIPLICATION_OPERATOR() throws RecognitionException {
        try {
            int _type = RULE_MULTIPLICATION_OPERATOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:30: ( ( '*' | '/' | 'div' | 'mod' | 'and' ) )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:32: ( '*' | '/' | 'div' | 'mod' | 'and' )
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:32: ( '*' | '/' | 'div' | 'mod' | 'and' )
            int alt3=5;
            switch ( input.LA(1) ) {
            case '*':
                {
                alt3=1;
                }
                break;
            case '/':
                {
                alt3=2;
                }
                break;
            case 'd':
                {
                alt3=3;
                }
                break;
            case 'm':
                {
                alt3=4;
                }
                break;
            case 'a':
                {
                alt3=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:33: '*'
                    {
                    match('*'); 

                    }
                    break;
                case 2 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:37: '/'
                    {
                    match('/'); 

                    }
                    break;
                case 3 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:41: 'div'
                    {
                    match("div"); 


                    }
                    break;
                case 4 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:47: 'mod'
                    {
                    match("mod"); 


                    }
                    break;
                case 5 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15681:53: 'and'
                    {
                    match("and"); 


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_MULTIPLICATION_OPERATOR"

    // $ANTLR start "RULE_DIRECTIVE"
    public final void mRULE_DIRECTIVE() throws RecognitionException {
        try {
            int _type = RULE_DIRECTIVE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15683:16: ( 'forward' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15683:18: 'forward'
            {
            match("forward"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_DIRECTIVE"

    // $ANTLR start "RULE_IDENTIFIER"
    public final void mRULE_IDENTIFIER() throws RecognitionException {
        try {
            int _type = RULE_IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15685:17: ( RULE_LETTER ( RULE_LETTER | RULE_DIGIT )* )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15685:19: RULE_LETTER ( RULE_LETTER | RULE_DIGIT )*
            {
            mRULE_LETTER(); 
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15685:31: ( RULE_LETTER | RULE_DIGIT )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||(LA4_0>='a' && LA4_0<='z')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:
            	    {
            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_IDENTIFIER"

    // $ANTLR start "RULE_STRG"
    public final void mRULE_STRG() throws RecognitionException {
        try {
            int _type = RULE_STRG;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15687:11: ( '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15687:13: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
            {
            match('\''); 
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15687:18: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
            loop5:
            do {
                int alt5=3;
                int LA5_0 = input.LA(1);

                if ( (LA5_0=='\\') ) {
                    alt5=1;
                }
                else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
                    alt5=2;
                }


                switch (alt5) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15687:19: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\"' | '\\'' | '\\\\' )
            	    {
            	    match('\\'); 
            	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;
            	case 2 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15687:60: ~ ( ( '\\\\' | '\\'' ) )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

            match('\''); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_STRG"

    // $ANTLR start "RULE_LETTER"
    public final void mRULE_LETTER() throws RecognitionException {
        try {
            int _type = RULE_LETTER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15689:13: ( ( 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' ) )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15689:15: ( 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' )
            {
            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_LETTER"

    // $ANTLR start "RULE_DIGIT"
    public final void mRULE_DIGIT() throws RecognitionException {
        try {
            int _type = RULE_DIGIT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15691:12: ( ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ) )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15691:14: ( '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' )
            {
            if ( (input.LA(1)>='0' && input.LA(1)<='9') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_DIGIT"

    // $ANTLR start "RULE_ID"
    public final void mRULE_ID() throws RecognitionException {
        try {
            int _type = RULE_ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15693:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15693:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15693:11: ( '^' )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0=='^') ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15693:11: '^'
                    {
                    match('^'); 

                    }
                    break;

            }

            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15693:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( ((LA7_0>='0' && LA7_0<='9')||(LA7_0>='A' && LA7_0<='Z')||LA7_0=='_'||(LA7_0>='a' && LA7_0<='z')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:
            	    {
            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_ID"

    // $ANTLR start "RULE_INT"
    public final void mRULE_INT() throws RecognitionException {
        try {
            int _type = RULE_INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15695:10: ( ( '0' .. '9' )+ )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15695:12: ( '0' .. '9' )+
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15695:12: ( '0' .. '9' )+
            int cnt8=0;
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0>='0' && LA8_0<='9')) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15695:13: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    if ( cnt8 >= 1 ) break loop8;
                        EarlyExitException eee =
                            new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_INT"

    // $ANTLR start "RULE_STRING"
    public final void mRULE_STRING() throws RecognitionException {
        try {
            int _type = RULE_STRING;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0=='\"') ) {
                alt11=1;
            }
            else if ( (LA11_0=='\'') ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                    {
                    match('\"'); 
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                    loop9:
                    do {
                        int alt9=3;
                        int LA9_0 = input.LA(1);

                        if ( (LA9_0=='\\') ) {
                            alt9=1;
                        }
                        else if ( ((LA9_0>='\u0000' && LA9_0<='!')||(LA9_0>='#' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
                            alt9=2;
                        }


                        switch (alt9) {
                    	case 1 :
                    	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:21: '\\\\' .
                    	    {
                    	    match('\\'); 
                    	    matchAny(); 

                    	    }
                    	    break;
                    	case 2 :
                    	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:28: ~ ( ( '\\\\' | '\"' ) )
                    	    {
                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}


                    	    }
                    	    break;

                    	default :
                    	    break loop9;
                        }
                    } while (true);

                    match('\"'); 

                    }
                    break;
                case 2 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                    {
                    match('\''); 
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                    loop10:
                    do {
                        int alt10=3;
                        int LA10_0 = input.LA(1);

                        if ( (LA10_0=='\\') ) {
                            alt10=1;
                        }
                        else if ( ((LA10_0>='\u0000' && LA10_0<='&')||(LA10_0>='(' && LA10_0<='[')||(LA10_0>=']' && LA10_0<='\uFFFF')) ) {
                            alt10=2;
                        }


                        switch (alt10) {
                    	case 1 :
                    	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:54: '\\\\' .
                    	    {
                    	    match('\\'); 
                    	    matchAny(); 

                    	    }
                    	    break;
                    	case 2 :
                    	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15697:61: ~ ( ( '\\\\' | '\\'' ) )
                    	    {
                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}


                    	    }
                    	    break;

                    	default :
                    	    break loop10;
                        }
                    } while (true);

                    match('\''); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_STRING"

    // $ANTLR start "RULE_ML_COMMENT"
    public final void mRULE_ML_COMMENT() throws RecognitionException {
        try {
            int _type = RULE_ML_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15699:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15699:19: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 

            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15699:24: ( options {greedy=false; } : . )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0=='*') ) {
                    int LA12_1 = input.LA(2);

                    if ( (LA12_1=='/') ) {
                        alt12=2;
                    }
                    else if ( ((LA12_1>='\u0000' && LA12_1<='.')||(LA12_1>='0' && LA12_1<='\uFFFF')) ) {
                        alt12=1;
                    }


                }
                else if ( ((LA12_0>='\u0000' && LA12_0<=')')||(LA12_0>='+' && LA12_0<='\uFFFF')) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15699:52: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

            match("*/"); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_ML_COMMENT"

    // $ANTLR start "RULE_SL_COMMENT"
    public final void mRULE_SL_COMMENT() throws RecognitionException {
        try {
            int _type = RULE_SL_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
            {
            match("//"); 

            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:24: (~ ( ( '\\n' | '\\r' ) ) )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( ((LA13_0>='\u0000' && LA13_0<='\t')||(LA13_0>='\u000B' && LA13_0<='\f')||(LA13_0>='\u000E' && LA13_0<='\uFFFF')) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:24: ~ ( ( '\\n' | '\\r' ) )
            	    {
            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:40: ( ( '\\r' )? '\\n' )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0=='\n'||LA15_0=='\r') ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:41: ( '\\r' )? '\\n'
                    {
                    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:41: ( '\\r' )?
                    int alt14=2;
                    int LA14_0 = input.LA(1);

                    if ( (LA14_0=='\r') ) {
                        alt14=1;
                    }
                    switch (alt14) {
                        case 1 :
                            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15701:41: '\\r'
                            {
                            match('\r'); 

                            }
                            break;

                    }

                    match('\n'); 

                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_SL_COMMENT"

    // $ANTLR start "RULE_WS"
    public final void mRULE_WS() throws RecognitionException {
        try {
            int _type = RULE_WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15703:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15703:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            {
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15703:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
            int cnt16=0;
            loop16:
            do {
                int alt16=2;
                int LA16_0 = input.LA(1);

                if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {
                    alt16=1;
                }


                switch (alt16) {
            	case 1 :
            	    // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:
            	    {
            	    if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    if ( cnt16 >= 1 ) break loop16;
                        EarlyExitException eee =
                            new EarlyExitException(16, input);
                        throw eee;
                }
                cnt16++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_WS"

    // $ANTLR start "RULE_ANY_OTHER"
    public final void mRULE_ANY_OTHER() throws RecognitionException {
        try {
            int _type = RULE_ANY_OTHER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15705:16: ( . )
            // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:15705:18: .
            {
            matchAny(); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "RULE_ANY_OTHER"

    public void mTokens() throws RecognitionException {
        // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:8: ( T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_UNSIGNED_DIGIT_SEQUENCE | RULE_RELATIONAL_OPERATOR | RULE_ADITION_OPERATOR | RULE_MULTIPLICATION_OPERATOR | RULE_DIRECTIVE | RULE_IDENTIFIER | RULE_STRG | RULE_LETTER | RULE_DIGIT | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt17=62;
        alt17 = dfa17.predict(input);
        switch (alt17) {
            case 1 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:10: T__20
                {
                mT__20(); 

                }
                break;
            case 2 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:16: T__21
                {
                mT__21(); 

                }
                break;
            case 3 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:22: T__22
                {
                mT__22(); 

                }
                break;
            case 4 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:28: T__23
                {
                mT__23(); 

                }
                break;
            case 5 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:34: T__24
                {
                mT__24(); 

                }
                break;
            case 6 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:40: T__25
                {
                mT__25(); 

                }
                break;
            case 7 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:46: T__26
                {
                mT__26(); 

                }
                break;
            case 8 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:52: T__27
                {
                mT__27(); 

                }
                break;
            case 9 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:58: T__28
                {
                mT__28(); 

                }
                break;
            case 10 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:64: T__29
                {
                mT__29(); 

                }
                break;
            case 11 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:70: T__30
                {
                mT__30(); 

                }
                break;
            case 12 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:76: T__31
                {
                mT__31(); 

                }
                break;
            case 13 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:82: T__32
                {
                mT__32(); 

                }
                break;
            case 14 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:88: T__33
                {
                mT__33(); 

                }
                break;
            case 15 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:94: T__34
                {
                mT__34(); 

                }
                break;
            case 16 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:100: T__35
                {
                mT__35(); 

                }
                break;
            case 17 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:106: T__36
                {
                mT__36(); 

                }
                break;
            case 18 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:112: T__37
                {
                mT__37(); 

                }
                break;
            case 19 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:118: T__38
                {
                mT__38(); 

                }
                break;
            case 20 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:124: T__39
                {
                mT__39(); 

                }
                break;
            case 21 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:130: T__40
                {
                mT__40(); 

                }
                break;
            case 22 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:136: T__41
                {
                mT__41(); 

                }
                break;
            case 23 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:142: T__42
                {
                mT__42(); 

                }
                break;
            case 24 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:148: T__43
                {
                mT__43(); 

                }
                break;
            case 25 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:154: T__44
                {
                mT__44(); 

                }
                break;
            case 26 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:160: T__45
                {
                mT__45(); 

                }
                break;
            case 27 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:166: T__46
                {
                mT__46(); 

                }
                break;
            case 28 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:172: T__47
                {
                mT__47(); 

                }
                break;
            case 29 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:178: T__48
                {
                mT__48(); 

                }
                break;
            case 30 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:184: T__49
                {
                mT__49(); 

                }
                break;
            case 31 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:190: T__50
                {
                mT__50(); 

                }
                break;
            case 32 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:196: T__51
                {
                mT__51(); 

                }
                break;
            case 33 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:202: T__52
                {
                mT__52(); 

                }
                break;
            case 34 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:208: T__53
                {
                mT__53(); 

                }
                break;
            case 35 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:214: T__54
                {
                mT__54(); 

                }
                break;
            case 36 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:220: T__55
                {
                mT__55(); 

                }
                break;
            case 37 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:226: T__56
                {
                mT__56(); 

                }
                break;
            case 38 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:232: T__57
                {
                mT__57(); 

                }
                break;
            case 39 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:238: T__58
                {
                mT__58(); 

                }
                break;
            case 40 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:244: T__59
                {
                mT__59(); 

                }
                break;
            case 41 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:250: T__60
                {
                mT__60(); 

                }
                break;
            case 42 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:256: T__61
                {
                mT__61(); 

                }
                break;
            case 43 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:262: T__62
                {
                mT__62(); 

                }
                break;
            case 44 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:268: T__63
                {
                mT__63(); 

                }
                break;
            case 45 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:274: T__64
                {
                mT__64(); 

                }
                break;
            case 46 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:280: T__65
                {
                mT__65(); 

                }
                break;
            case 47 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:286: RULE_UNSIGNED_DIGIT_SEQUENCE
                {
                mRULE_UNSIGNED_DIGIT_SEQUENCE(); 

                }
                break;
            case 48 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:315: RULE_RELATIONAL_OPERATOR
                {
                mRULE_RELATIONAL_OPERATOR(); 

                }
                break;
            case 49 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:340: RULE_ADITION_OPERATOR
                {
                mRULE_ADITION_OPERATOR(); 

                }
                break;
            case 50 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:362: RULE_MULTIPLICATION_OPERATOR
                {
                mRULE_MULTIPLICATION_OPERATOR(); 

                }
                break;
            case 51 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:391: RULE_DIRECTIVE
                {
                mRULE_DIRECTIVE(); 

                }
                break;
            case 52 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:406: RULE_IDENTIFIER
                {
                mRULE_IDENTIFIER(); 

                }
                break;
            case 53 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:422: RULE_STRG
                {
                mRULE_STRG(); 

                }
                break;
            case 54 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:432: RULE_LETTER
                {
                mRULE_LETTER(); 

                }
                break;
            case 55 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:444: RULE_DIGIT
                {
                mRULE_DIGIT(); 

                }
                break;
            case 56 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:455: RULE_ID
                {
                mRULE_ID(); 

                }
                break;
            case 57 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:463: RULE_INT
                {
                mRULE_INT(); 

                }
                break;
            case 58 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:472: RULE_STRING
                {
                mRULE_STRING(); 

                }
                break;
            case 59 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:484: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 60 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:500: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 61 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:516: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 62 :
                // ../br.edu.ufcg.dsc.compiladores.pascal.ui/src-gen/br/edu/ufcg/dsc/compiladores/ui/contentassist/antlr/internal/InternalPascal.g:1:524: RULE_ANY_OTHER
                {
                mRULE_ANY_OTHER(); 

                }
                break;

        }

    }


    protected DFA2 dfa2 = new DFA2(this);
    protected DFA17 dfa17 = new DFA17(this);
    static final String DFA2_eotS =
        "\2\uffff\1\7\1\11\6\uffff";
    static final String DFA2_eofS =
        "\12\uffff";
    static final String DFA2_minS =
        "\1\74\1\uffff\2\75\6\uffff";
    static final String DFA2_maxS =
        "\1\151\1\uffff\1\76\1\75\6\uffff";
    static final String DFA2_acceptS =
        "\1\uffff\1\1\2\uffff\1\7\1\2\1\4\1\3\1\6\1\5";
    static final String DFA2_specialS =
        "\12\uffff}>";
    static final String[] DFA2_transitionS = {
            "\1\2\1\1\1\3\52\uffff\1\4",
            "",
            "\1\6\1\5",
            "\1\10",
            "",
            "",
            "",
            "",
            "",
            ""
    };

    static final short[] DFA2_eot = DFA.unpackEncodedString(DFA2_eotS);
    static final short[] DFA2_eof = DFA.unpackEncodedString(DFA2_eofS);
    static final char[] DFA2_min = DFA.unpackEncodedStringToUnsignedChars(DFA2_minS);
    static final char[] DFA2_max = DFA.unpackEncodedStringToUnsignedChars(DFA2_maxS);
    static final short[] DFA2_accept = DFA.unpackEncodedString(DFA2_acceptS);
    static final short[] DFA2_special = DFA.unpackEncodedString(DFA2_specialS);
    static final short[][] DFA2_transition;

    static {
        int numStates = DFA2_transitionS.length;
        DFA2_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA2_transition[i] = DFA.unpackEncodedString(DFA2_transitionS[i]);
        }
    }

    class DFA2 extends DFA {

        public DFA2(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 2;
            this.eot = DFA2_eot;
            this.eof = DFA2_eof;
            this.min = DFA2_min;
            this.max = DFA2_max;
            this.accept = DFA2_accept;
            this.special = DFA2_special;
            this.transition = DFA2_transition;
        }
        public String getDescription() {
            return "15677:28: ( '=' | '<>' | '<' | '<=' | '>' | '>=' | 'in' )";
        }
    }
    static final String DFA17_eotS =
        "\1\uffff\3\60\1\66\1\71\2\uffff\1\75\1\60\4\uffff\1\60\1\110\2\60\2\uffff\3\60\1\uffff\1\124\7\60\1\136\3\uffff\1\141\2\60\1\53\1\uffff\1\53\2\uffff\1\152\3\60\2\uffff\1\156\3\60\1\uffff\2\60\5\uffff\2\60\4\uffff\3\60\2\uffff\3\60\2\uffff\1\174\1\175\3\60\2\uffff\5\60\1\u0087\1\140\2\60\1\uffff\1\136\4\uffff\1\60\6\uffff\3\60\1\uffff\1\141\1\u0090\1\u0091\1\u0092\5\60\1\u009a\1\u009b\1\60\1\141\2\uffff\3\60\1\u00a0\5\60\1\uffff\2\60\1\141\2\uffff\1\u00a8\1\u00a9\1\60\3\uffff\1\u00ab\4\60\1\u00b0\1\60\2\uffff\3\60\1\u00b5\1\uffff\3\60\1\u00b9\2\60\1\u00bc\2\uffff\1\60\1\uffff\4\60\1\uffff\1\60\1\u00c3\1\u00c4\1\u00c5\1\uffff\2\60\1\u00c8\1\uffff\1\u00c9\1\u00ca\1\uffff\1\u00cb\2\60\1\u00ce\2\60\3\uffff\1\u00d1\1\u00d2\4\uffff\1\u00d3\1\60\1\uffff\1\60\1\u00d6\3\uffff\1\60\1\u00d8\1\uffff\1\u00d9\2\uffff";
    static final String DFA17_eofS =
        "\u00da\uffff";
    static final String DFA17_minS =
        "\1\0\5\60\2\uffff\1\56\1\60\4\uffff\1\60\1\75\2\60\2\uffff\3\60\1\uffff\1\101\10\60\3\uffff\1\52\2\60\1\0\1\uffff\1\0\2\uffff\4\60\2\uffff\4\60\1\uffff\2\60\5\uffff\2\60\4\uffff\3\60\2\uffff\3\60\2\uffff\5\60\2\uffff\11\60\1\uffff\1\60\4\uffff\1\60\2\0\4\uffff\3\60\1\uffff\15\60\2\uffff\11\60\1\uffff\3\60\1\0\1\uffff\3\60\3\uffff\7\60\2\uffff\4\60\1\uffff\7\60\2\uffff\1\60\1\uffff\4\60\1\uffff\4\60\1\uffff\3\60\1\uffff\2\60\1\uffff\6\60\3\uffff\2\60\4\uffff\2\60\1\uffff\2\60\3\uffff\2\60\1\uffff\1\60\2\uffff";
    static final String DFA17_maxS =
        "\1\uffff\5\172\2\uffff\1\56\1\172\4\uffff\1\172\1\75\2\172\2\uffff\3\172\1\uffff\10\172\1\71\3\uffff\1\57\2\172\1\uffff\1\uffff\1\uffff\2\uffff\4\172\2\uffff\4\172\1\uffff\2\172\5\uffff\2\172\4\uffff\3\172\2\uffff\3\172\2\uffff\5\172\2\uffff\11\172\1\uffff\1\71\4\uffff\1\172\2\uffff\4\uffff\3\172\1\uffff\15\172\2\uffff\11\172\1\uffff\3\172\1\uffff\1\uffff\3\172\3\uffff\7\172\2\uffff\4\172\1\uffff\7\172\2\uffff\1\172\1\uffff\4\172\1\uffff\4\172\1\uffff\3\172\1\uffff\2\172\1\uffff\6\172\3\uffff\2\172\4\uffff\2\172\1\uffff\2\172\3\uffff\2\172\1\uffff\1\172\2\uffff";
    static final String DFA17_acceptS =
        "\6\uffff\1\6\1\7\2\uffff\1\12\1\13\1\14\1\15\4\uffff\1\23\1\24\3\uffff\1\32\11\uffff\2\60\1\62\4\uffff\1\70\1\uffff\1\75\1\76\4\uffff\1\64\1\70\4\uffff\1\4\2\uffff\1\5\1\6\1\7\1\27\1\10\2\uffff\1\12\1\13\1\14\1\15\3\uffff\1\51\1\20\3\uffff\1\23\1\24\5\uffff\1\32\1\34\11\uffff\1\57\1\uffff\1\60\1\62\1\73\1\74\3\uffff\1\65\1\72\1\75\1\1\3\uffff\1\44\15\uffff\1\25\1\61\11\uffff\1\45\4\uffff\1\65\3\uffff\1\3\1\56\1\40\7\uffff\1\50\1\21\4\uffff\1\36\7\uffff\1\33\1\46\1\uffff\1\47\4\uffff\1\35\4\uffff\1\41\3\uffff\1\43\2\uffff\1\55\6\uffff\1\22\1\30\1\31\2\uffff\1\42\1\54\1\53\1\2\2\uffff\1\26\2\uffff\1\37\1\52\1\11\2\uffff\1\63\1\uffff\1\16\1\17";
    static final String DFA17_specialS =
        "\1\3\46\uffff\1\2\1\uffff\1\0\73\uffff\1\1\1\4\44\uffff\1\5\116\uffff}>";
    static final String[] DFA17_transitionS = {
            "\11\53\2\52\2\53\1\52\22\53\1\52\1\53\1\51\4\53\1\47\1\12\1\13\1\43\1\6\1\15\1\7\1\10\1\44\12\40\1\17\1\14\1\41\1\27\1\42\2\53\4\46\1\4\25\46\1\22\1\53\1\23\1\30\1\50\1\53\1\21\1\33\1\26\1\2\1\5\1\16\1\37\1\46\1\35\2\46\1\25\1\45\1\3\1\24\1\11\1\46\1\32\1\31\1\1\1\36\1\20\1\34\3\46\uff85\53",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\7\57\1\56\6\57\1\54\11\57\1\55\1\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\63\5\57\1\62\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\64\5\57\1\65\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\70\1\57\1\67\14\57",
            "",
            "",
            "\1\74",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\77\20\57\1\76\10\57",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\105\5\57\1\106\5\57\1\104\5\57",
            "\1\107",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\111\31\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\113\3\57\1\112\10\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\5\57\1\116\13\57\1\117\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\120\31\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\122\15\57\1\121\13\57",
            "",
            "\32\61\4\uffff\1\61\1\uffff\32\61",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\125\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\126\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\127\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\7\57\1\131\1\130\21\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\5\57\1\132\7\57\1\133\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\134\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\135\13\57",
            "\12\137",
            "",
            "",
            "",
            "\1\142\4\uffff\1\143",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\144\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\47\146\1\147\64\146\1\145\uffa3\146",
            "",
            "\0\150",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\17\57\1\153\12\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\154\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\26\57\1\155\3\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\25\57\1\157\4\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\160\16\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\161\6\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\162\26\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\22\57\1\163\7\57",
            "",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\164\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\2\57\1\165\27\57",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\166\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\167\16\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\170\10\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\171\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\172\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\173\26\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\57\1\176\30\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\177\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\22\57\1\u0080\7\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u0081\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\2\57\1\u0082\14\57\1\u0083\12\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\6\57\1\u0084\23\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u0085\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\u0086\21\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u0088\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u0089\6\57",
            "",
            "\12\137",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\u008a\26\57",
            "\42\150\1\u008b\4\150\1\u008b\64\150\1\u008b\5\150\1\u008b\3\150\1\u008b\7\150\1\u008b\3\150\1\u008b\1\150\1\u008b\uff8b\150",
            "\47\146\1\147\64\146\1\145\uffa3\146",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u008d\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\u008e\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\u008f\14\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u0093\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\2\57\1\u0095\3\57\1\u0094\23\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\12\57\1\u0096\17\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\2\57\1\u0097\27\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u0098\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\26\57\1\u0099\3\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\u009c\31\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u009d\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\22\57\1\u009e\7\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u009f\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\u00a1\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u00a2\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\u00a3\21\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\7\57\1\u00a4\22\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\u00a5\16\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\u00a6\21\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\u00a7\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\47\146\1\147\64\146\1\145\uffa3\146",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u00aa\6\57",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\u00ac\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u00ad\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u00ae\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u00af\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\u00b1\31\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\30\57\1\u00b2\1\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\u00b3\16\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u00b4\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\u00b6\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\u00b7\31\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\u00b8\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u00ba\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\13\57\1\u00bb\16\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\u00bd\13\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\1\u00be\31\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\u00bf\26\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\u00c0\26\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\10\57\1\u00c1\21\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\u00c2\10\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\u00c6\26\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\23\57\1\u00c7\6\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\14\57\1\u00cc\15\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\24\57\1\u00cd\5\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\16\57\1\u00cf\13\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\3\57\1\u00d0\26\57",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\21\57\1\u00d4\10\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\15\57\1\u00d5\14\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\4\57\1\u00d7\25\57",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            "\12\57\7\uffff\32\57\4\uffff\1\61\1\uffff\32\57",
            "",
            ""
    };

    static final short[] DFA17_eot = DFA.unpackEncodedString(DFA17_eotS);
    static final short[] DFA17_eof = DFA.unpackEncodedString(DFA17_eofS);
    static final char[] DFA17_min = DFA.unpackEncodedStringToUnsignedChars(DFA17_minS);
    static final char[] DFA17_max = DFA.unpackEncodedStringToUnsignedChars(DFA17_maxS);
    static final short[] DFA17_accept = DFA.unpackEncodedString(DFA17_acceptS);
    static final short[] DFA17_special = DFA.unpackEncodedString(DFA17_specialS);
    static final short[][] DFA17_transition;

    static {
        int numStates = DFA17_transitionS.length;
        DFA17_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA17_transition[i] = DFA.unpackEncodedString(DFA17_transitionS[i]);
        }
    }

    class DFA17 extends DFA {

        public DFA17(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 17;
            this.eot = DFA17_eot;
            this.eof = DFA17_eof;
            this.min = DFA17_min;
            this.max = DFA17_max;
            this.accept = DFA17_accept;
            this.special = DFA17_special;
            this.transition = DFA17_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | RULE_UNSIGNED_DIGIT_SEQUENCE | RULE_RELATIONAL_OPERATOR | RULE_ADITION_OPERATOR | RULE_MULTIPLICATION_OPERATOR | RULE_DIRECTIVE | RULE_IDENTIFIER | RULE_STRG | RULE_LETTER | RULE_DIGIT | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA17_41 = input.LA(1);

                        s = -1;
                        if ( ((LA17_41>='\u0000' && LA17_41<='\uFFFF')) ) {s = 104;}

                        else s = 43;

                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA17_101 = input.LA(1);

                        s = -1;
                        if ( (LA17_101=='\"'||LA17_101=='\''||LA17_101=='\\'||LA17_101=='b'||LA17_101=='f'||LA17_101=='n'||LA17_101=='r'||LA17_101=='t') ) {s = 139;}

                        else if ( ((LA17_101>='\u0000' && LA17_101<='!')||(LA17_101>='#' && LA17_101<='&')||(LA17_101>='(' && LA17_101<='[')||(LA17_101>=']' && LA17_101<='a')||(LA17_101>='c' && LA17_101<='e')||(LA17_101>='g' && LA17_101<='m')||(LA17_101>='o' && LA17_101<='q')||LA17_101=='s'||(LA17_101>='u' && LA17_101<='\uFFFF')) ) {s = 104;}

                        if ( s>=0 ) return s;
                        break;
                    case 2 : 
                        int LA17_39 = input.LA(1);

                        s = -1;
                        if ( (LA17_39=='\\') ) {s = 101;}

                        else if ( ((LA17_39>='\u0000' && LA17_39<='&')||(LA17_39>='(' && LA17_39<='[')||(LA17_39>=']' && LA17_39<='\uFFFF')) ) {s = 102;}

                        else if ( (LA17_39=='\'') ) {s = 103;}

                        else s = 43;

                        if ( s>=0 ) return s;
                        break;
                    case 3 : 
                        int LA17_0 = input.LA(1);

                        s = -1;
                        if ( (LA17_0=='t') ) {s = 1;}

                        else if ( (LA17_0=='d') ) {s = 2;}

                        else if ( (LA17_0=='n') ) {s = 3;}

                        else if ( (LA17_0=='E') ) {s = 4;}

                        else if ( (LA17_0=='e') ) {s = 5;}

                        else if ( (LA17_0=='+') ) {s = 6;}

                        else if ( (LA17_0=='-') ) {s = 7;}

                        else if ( (LA17_0=='.') ) {s = 8;}

                        else if ( (LA17_0=='p') ) {s = 9;}

                        else if ( (LA17_0=='(') ) {s = 10;}

                        else if ( (LA17_0==')') ) {s = 11;}

                        else if ( (LA17_0==';') ) {s = 12;}

                        else if ( (LA17_0==',') ) {s = 13;}

                        else if ( (LA17_0=='f') ) {s = 14;}

                        else if ( (LA17_0==':') ) {s = 15;}

                        else if ( (LA17_0=='v') ) {s = 16;}

                        else if ( (LA17_0=='a') ) {s = 17;}

                        else if ( (LA17_0=='[') ) {s = 18;}

                        else if ( (LA17_0==']') ) {s = 19;}

                        else if ( (LA17_0=='o') ) {s = 20;}

                        else if ( (LA17_0=='l') ) {s = 21;}

                        else if ( (LA17_0=='c') ) {s = 22;}

                        else if ( (LA17_0=='=') ) {s = 23;}

                        else if ( (LA17_0=='^') ) {s = 24;}

                        else if ( (LA17_0=='s') ) {s = 25;}

                        else if ( (LA17_0=='r') ) {s = 26;}

                        else if ( (LA17_0=='b') ) {s = 27;}

                        else if ( (LA17_0=='w') ) {s = 28;}

                        else if ( (LA17_0=='i') ) {s = 29;}

                        else if ( (LA17_0=='u') ) {s = 30;}

                        else if ( (LA17_0=='g') ) {s = 31;}

                        else if ( ((LA17_0>='0' && LA17_0<='9')) ) {s = 32;}

                        else if ( (LA17_0=='<') ) {s = 33;}

                        else if ( (LA17_0=='>') ) {s = 34;}

                        else if ( (LA17_0=='*') ) {s = 35;}

                        else if ( (LA17_0=='/') ) {s = 36;}

                        else if ( (LA17_0=='m') ) {s = 37;}

                        else if ( ((LA17_0>='A' && LA17_0<='D')||(LA17_0>='F' && LA17_0<='Z')||LA17_0=='h'||(LA17_0>='j' && LA17_0<='k')||LA17_0=='q'||(LA17_0>='x' && LA17_0<='z')) ) {s = 38;}

                        else if ( (LA17_0=='\'') ) {s = 39;}

                        else if ( (LA17_0=='_') ) {s = 40;}

                        else if ( (LA17_0=='\"') ) {s = 41;}

                        else if ( ((LA17_0>='\t' && LA17_0<='\n')||LA17_0=='\r'||LA17_0==' ') ) {s = 42;}

                        else if ( ((LA17_0>='\u0000' && LA17_0<='\b')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\u001F')||LA17_0=='!'||(LA17_0>='#' && LA17_0<='&')||(LA17_0>='?' && LA17_0<='@')||LA17_0=='\\'||LA17_0=='`'||(LA17_0>='{' && LA17_0<='\uFFFF')) ) {s = 43;}

                        if ( s>=0 ) return s;
                        break;
                    case 4 : 
                        int LA17_102 = input.LA(1);

                        s = -1;
                        if ( (LA17_102=='\'') ) {s = 103;}

                        else if ( (LA17_102=='\\') ) {s = 101;}

                        else if ( ((LA17_102>='\u0000' && LA17_102<='&')||(LA17_102>='(' && LA17_102<='[')||(LA17_102>=']' && LA17_102<='\uFFFF')) ) {s = 102;}

                        if ( s>=0 ) return s;
                        break;
                    case 5 : 
                        int LA17_139 = input.LA(1);

                        s = -1;
                        if ( (LA17_139=='\'') ) {s = 103;}

                        else if ( (LA17_139=='\\') ) {s = 101;}

                        else if ( ((LA17_139>='\u0000' && LA17_139<='&')||(LA17_139>='(' && LA17_139<='[')||(LA17_139>=']' && LA17_139<='\uFFFF')) ) {s = 102;}

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 17, _s, input);
            error(nvae);
            throw nvae;
        }
    }
 

}